package com.snpic.appaw.module.insure.controller.app.vehicleInformation.vo;

import cn.idev.excel.annotation.ExcelProperty;
import jakarta.validation.constraints.NotNull;
import lombok.*;

import java.util.*;

import io.swagger.v3.oas.annotations.media.Schema;
import com.snpic.appaw.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.snpic.appaw.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "用户 APP - 首页车辆卡片/编辑家庭档案 - 车辆信息分页 Request VO")
@Data
public class AppVehicleInformationPageReqVO extends PageParam {
	@Schema(description = "ID")
	private Long id;

	@Schema(description = "车牌号")
	private String licensePlateNumber;

	@Schema(description = "车型", example = "1")
	private String vehicleType;

	@Schema(description = "车架号")
	private String frameNumber;

	@Schema(description = "发动机号")
	private String engineNumber;

	@Schema(description = "注册日期")
	@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
	private String[] registrationDate;

	@Schema(description = "用户编号", example = "9486")
	private Long userId;

	@Schema(description = "查询时间")
	@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
	private String[] queryTime;

	@Schema(description = "是否认证")
	private String isAuthentication;

	@Schema(description = "创建时间")
	@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
	private LocalDateTime[] createTime;

	@Schema(description = "备注")
	private String remark;

	@Schema(description = "车辆信息来源：1：ids；2：用户手动添加")
	private String carSource;

	@Schema(description = "违章提醒是否开启：“0”开启  “1”不开启")
	private String isOpen;

	@Schema(description = "推送时间间隔：7天，15天，30天")
	private String timeSpan;

	@Schema(description = "服务开始定制日期 yyyy - MM - dd")
	@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
	private LocalDateTime[] customingzingTime;

	@Schema(description = "品牌型号,从行驶证读取,五零LZW111111111多用途乘用车")
	private String brandModel;

	@Schema(description = "是否过户车")
	private Boolean transfered;

	@Schema(description = "投保地区")
	private String insuredArea;

	@Schema(description = "S3中，行驶证正面照片存储路径", example = "")
	private String vehicleLisenceUrl;

	@Schema(description = "是否车主", example = "2")
	private Boolean ownerStatus;

	@Schema(description = "车主姓名")
	private String carOwner;

	@Schema(description = "车主证件类型")
	private String idType;

	@Schema(description = "车主证件号")
	private String idNo;

	@Schema(description = "选中状态,1-选中")
	private Boolean selectStatus;

	@Schema(description = "车险报价,待选车辆,选中状态,true-选中")
	private Boolean selectStatusForQuote;

	@Schema(description = "城市代码")
	private String citycode;

}